
//ClassLoader:                                                                                                           
//+-sun.misc.Launcher$AppClassLoader@18b4aac2                                                                            
//  +-sun.misc.Launcher$ExtClassLoader@11f20ba0                                                                          
//
//Location:                                                                                                              
///E:/mvnRep/com/alibaba/dubbo/2.6.8/dubbo-2.6.8.jar                                                                     

/*
 * Decompiled with CFR.
 */
package com.alibaba.dubbo.common.bytecode;

import com.alibaba.dubbo.common.bytecode.ClassGenerator;
import com.alibaba.dubbo.common.bytecode.NoSuchMethodException;
import com.alibaba.dubbo.common.bytecode.NoSuchPropertyException;
import com.alibaba.dubbo.common.bytecode.Wrapper;
import java.lang.reflect.InvocationTargetException;
import java.util.Map;
import org.pangu.api.ProductService;
import org.pangu.dto.ProductDTO;

public class Wrapper2 extends Wrapper implements ClassGenerator.DC {
	public static String[] pns;//PropertyNames
	public static Map pts;//Propertys
	public static String[] mns;//MethodNames
	public static String[] dmns;//DeclaredMethodNames
	public static Class[] mts0;
	public static Class[] mts1;
	public static Class[] mts2;

	@Override
	public String[] getPropertyNames() {
		return pns;
	}

	@Override
	public boolean hasProperty(String string) {
		return pts.containsKey(string);
	}

	public Class getPropertyType(String string) {
		return (Class) pts.get(string);
	}

	@Override
	public String[] getMethodNames() {
		return mns;
	}

	@Override
	public String[] getDeclaredMethodNames() {
		return dmns;
	}

	@Override
	public void setPropertyValue(Object object, String string, Object object2) {
		try {
			ProductService productService = (ProductService) object;
		} catch (Throwable throwable) {
			throw new IllegalArgumentException(throwable);
		}
		throw new NoSuchPropertyException(new StringBuffer().append("Not found property \"").append(string)
				.append("\" filed or setter method in class org.pangu.api.ProductService.").toString());
	}

	@Override
	public Object getPropertyValue(Object object, String string) {
		try {
			ProductService productService = (ProductService) object;
		} catch (Throwable throwable) {
			throw new IllegalArgumentException(throwable);
		}
		throw new NoSuchPropertyException(new StringBuffer().append("Not found property \"").append(string)
				.append("\" filed or setter method in class org.pangu.api.ProductService.").toString());
	}

	public Object invokeMethod(Object object, String string, Class[] classArray, Object[] objectArray)
			throws InvocationTargetException {
		ProductService productService;
		try {
			productService = (ProductService) object;
		} catch (Throwable throwable) {
			throw new IllegalArgumentException(throwable);
		}
		try {
			if ("findProduct".equals(string) && classArray.length == 1
					&& classArray[0].getName().equals("java.lang.String")) {
				return productService.findProduct((String) objectArray[0]);
			}
			if ("findProduct".equals(string) && classArray.length == 1
					&& classArray[0].getName().equals("org.pangu.dto.ProductDTO")) {
				return productService.findProduct((ProductDTO) objectArray[0]);
			}
			if ("selectProduct".equals(string) && classArray.length == 1) {
				return productService.selectProduct((ProductDTO) objectArray[0]);
			}
		} catch (Throwable throwable) {
			throw new InvocationTargetException(throwable);
		}
		throw new NoSuchMethodException(new StringBuffer().append("Not found method \"").append(string)
				.append("\" in class org.pangu.api.ProductService.").toString());
	}
}

//Affect(row-cnt:1) cost in 409 ms.
